<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        // Promise的API--catch()方法的使用
        // Promise.prototype.catch方法: (onRejected) => {}
        // (1) onRejected函数: 失败的回调函数 (reason) => {}
        // 说明: then( )的语法糖, 相当于: then(undefined, onRejected)

        const p = new Promise((resolve, reject) => {
            reject("失败");
            //resolve("ok");
        });

        console.log(p);

        // 直接使用catch,并传递一个函数作为参数，此函数只有当前p对象PromiseState为rejected才执行
        p.catch(reason => {
            console.log("error", reason);
        })

        // catch（）方法相当于then的第二参数
        p.then(value => { }, reason => { console.log("error", reason) })


        // 在实际工作中，catch会配合then的使用
        p.then(value => { 
            // 成功的处理
            console.log("ok", value) 
        }).catch(reason => {
            // 失败的处理
            console.log("error", reason) 
        });

    </script>
</body>
</html>